{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "53c8dfc0",
   "metadata": {},
   "source": [
    "Copyright (c) MONAI Consortium  \n",
    "Licensed under the Apache License, Version 2.0 (the \"License\");  \n",
    "you may not use this file except in compliance with the License.  \n",
    "You may obtain a copy of the License at  \n",
    "&nbsp;&nbsp;&nbsp;&nbsp;http://www.apache.org/licenses/LICENSE-2.0  \n",
    "Unless required by applicable law or agreed to in writing, software  \n",
    "distributed under the License is distributed on an \"AS IS\" BASIS,  \n",
    "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  \n",
    "See the License for the specific language governing permissions and  \n",
    "limitations under the License.\n",
    "\n",
    "# Denoising Diffusion Probabilistic Models with MedNIST Dataset\n",
    "\n",
    "This tutorial illustrates how to use MONAI for training a denoising diffusion probabilistic model (DDPM)[1] to create\n",
    "synthetic 2D images.\n",
    "\n",
    "[1] - Ho et al. \"Denoising Diffusion Probabilistic Models\" https://arxiv.org/abs/2006.11239\n",
    "\n",
    "\n",
    "## Setup environment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "04629260",
   "metadata": {},
   "outputs": [],
   "source": [
    "!python -c \"import monai\" || pip install -q \"monai-weekly[tqdm]\"\n",
    "!python -c \"import ignite\" || pip install -q pytorch-ignite\n",
    "!python -c \"import matplotlib\" || pip install -q matplotlib\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2342bc75",
   "metadata": {},
   "source": [
    "## Setup imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "3382be3f",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MONAI version: 1.4.0rc6\n",
      "Numpy version: 1.26.4\n",
      "Pytorch version: 2.3.1+cu121\n",
      "MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False\n",
      "MONAI rev id: 6a0e1b043ba2890e1463fa49df76f66e56a68b08\n",
      "MONAI __file__: /home/<username>/miniconda3/envs/monai/lib/python3.11/site-packages/monai/__init__.py\n",
      "\n",
      "Optional dependencies:\n",
      "Pytorch Ignite version: 0.4.11\n",
      "ITK version: 5.4.0\n",
      "Nibabel version: 5.2.1\n",
      "scikit-image version: 0.23.2\n",
      "scipy version: 1.13.1\n",
      "Pillow version: 10.3.0\n",
      "Tensorboard version: 2.17.0\n",
      "gdown version: 5.2.0\n",
      "TorchVision version: 0.18.1+cu121\n",
      "tqdm version: 4.66.4\n",
      "lmdb version: 1.4.1\n",
      "psutil version: 5.9.0\n",
      "pandas version: 2.2.2\n",
      "einops version: 0.8.0\n",
      "transformers version: NOT INSTALLED or UNKNOWN VERSION.\n",
      "mlflow version: 2.14.0\n",
      "pynrrd version: 1.0.0\n",
      "clearml version: 1.16.2rc0\n",
      "\n",
      "For details about installing the optional dependencies, please visit:\n",
      "    https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import shutil\n",
    "import tempfile\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "from ignite.contrib.handlers import ProgressBar\n",
    "from monai import transforms\n",
    "from monai.apps import MedNISTDataset\n",
    "from monai.config import print_config\n",
    "from monai.data import CacheDataset, DataLoader\n",
    "from monai.engines import SupervisedEvaluator, SupervisedTrainer\n",
    "from monai.handlers import MeanAbsoluteError, MeanSquaredError, StatsHandler, ValidationHandler, from_engine\n",
    "from monai.utils import first, set_determinism\n",
    "from monai.inferers import DiffusionInferer\n",
    "from monai.engines import DiffusionPrepareBatch\n",
    "from monai.networks.nets import DiffusionModelUNet\n",
    "from monai.networks.schedulers import DDPMScheduler\n",
    "\n",
    "print_config()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a8a5e41b",
   "metadata": {},
   "source": [
    "## Setup data directory\n",
    "\n",
    "You can specify a directory with the MONAI_DATA_DIRECTORY environment variable.\n",
    "\n",
    "This allows you to save results and reuse downloads.\n",
    "\n",
    "If not specified a temporary directory will be used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "10e3e959",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/tmp/tmpss9epssa\n"
     ]
    }
   ],
   "source": [
    "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n",
    "root_dir = tempfile.mkdtemp() if directory is None else directory\n",
    "print(root_dir)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0732a4a1",
   "metadata": {},
   "source": [
    "## Set deterministic training for reproducibility"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b430e0f4",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "set_determinism(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1750d513",
   "metadata": {},
   "source": [
    "## Setup MedNIST Dataset and training and validation dataloaders\n",
    "In this tutorial, we will train our models on the MedNIST dataset available on MONAI\n",
    "(https://docs.monai.io/en/stable/apps.html#monai.apps.MedNISTDataset). In order to train faster, we will select just\n",
    "one of the available classes (\"Hand\"), resulting in a training set with 7999 2D images."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b1355f26",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2024-09-02 17:51:05,299 - INFO - Downloaded: /tmp/tmpss9epssa/MedNIST.tar.gz\n",
      "2024-09-02 17:51:05,410 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n",
      "2024-09-02 17:51:05,411 - INFO - Writing into directory: /tmp/tmpss9epssa.\n"
     ]
    }
   ],
   "source": [
    "train_data = MedNISTDataset(root_dir=root_dir, section=\"training\", download=True, progress=False, seed=0)\n",
    "train_datalist = [{\"image\": item[\"image\"]} for item in train_data.data if item[\"class_name\"] == \"Hand\"]\n",
    "batch_size = 64\n",
    "num_workers = 4"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "658a9a07",
   "metadata": {},
   "source": [
    "Here we use transforms to augment the training dataset:\n",
    "\n",
    "1. `LoadImaged` loads the hands images from files.\n",
    "1. `EnsureChannelFirstd` ensures the original data to construct \"channel first\" shape.\n",
    "1. `ScaleIntensityRanged` extracts intensity range [0, 255] and scales to [0, 1].\n",
    "1. `RandAffined` efficiently performs rotate, scale, shear, translate, etc. together based on PyTorch affine transform."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c97cb55d",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loading dataset: 100%|██████████| 7999/7999 [00:05<00:00, 1366.06it/s]\n"
     ]
    }
   ],
   "source": [
    "train_transforms = transforms.Compose(\n",
    "    [\n",
    "        transforms.LoadImaged(keys=[\"image\"]),\n",
    "        transforms.EnsureChannelFirstd(keys=[\"image\"]),\n",
    "        transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n",
    "        transforms.RandAffined(\n",
    "            keys=[\"image\"],\n",
    "            rotate_range=[(-np.pi / 36, np.pi / 36), (-np.pi / 36, np.pi / 36)],\n",
    "            translate_range=[(-1, 1), (-1, 1)],\n",
    "            scale_range=[(-0.05, 0.05), (-0.05, 0.05)],\n",
    "            spatial_size=[64, 64],\n",
    "            padding_mode=\"zeros\",\n",
    "            prob=0.5,\n",
    "        ),\n",
    "    ]\n",
    ")\n",
    "train_ds = CacheDataset(data=train_datalist, transform=train_transforms)\n",
    "train_loader = DataLoader(\n",
    "    train_ds, batch_size=batch_size, shuffle=True, num_workers=num_workers, persistent_workers=True\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "6afd0f79",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2024-09-02 17:51:36,290 - INFO - Verified 'MedNIST.tar.gz', md5: 0bc7306e7427e00ad1c5526a6677552d.\n",
      "2024-09-02 17:51:36,291 - INFO - File exists: /tmp/tmpss9epssa/MedNIST.tar.gz, skipped downloading.\n",
      "2024-09-02 17:51:36,292 - INFO - Non-empty folder exists in /tmp/tmpss9epssa/MedNIST, skipped extracting.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Loading dataset: 100%|██████████| 1005/1005 [00:00<00:00, 1476.42it/s]\n"
     ]
    }
   ],
   "source": [
    "val_data = MedNISTDataset(root_dir=root_dir, section=\"validation\", download=True, progress=False, seed=0)\n",
    "val_datalist = [{\"image\": item[\"image\"]} for item in val_data.data if item[\"class_name\"] == \"Hand\"]\n",
    "val_transforms = transforms.Compose(\n",
    "    [\n",
    "        transforms.LoadImaged(keys=[\"image\"]),\n",
    "        transforms.EnsureChannelFirstd(keys=[\"image\"]),\n",
    "        transforms.ScaleIntensityRanged(keys=[\"image\"], a_min=0.0, a_max=255.0, b_min=0.0, b_max=1.0, clip=True),\n",
    "    ]\n",
    ")\n",
    "val_ds = CacheDataset(data=val_datalist, transform=val_transforms)\n",
    "val_loader = DataLoader(val_ds, batch_size=batch_size, shuffle=False, num_workers=num_workers, persistent_workers=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "021956eb",
   "metadata": {},
   "source": [
    "### Visualisation of the training images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "469e4f76",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "batch shape: torch.Size([64, 1, 64, 64])\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "check_data = first(train_loader)\n",
    "print(f\"batch shape: {check_data['image'].shape}\")\n",
    "image_visualisation = torch.cat(\n",
    "    [check_data[\"image\"][0, 0], check_data[\"image\"][1, 0], check_data[\"image\"][2, 0], check_data[\"image\"][3, 0]], dim=1\n",
    ")\n",
    "plt.figure(\"training images\", (12, 6))\n",
    "plt.imshow(image_visualisation, vmin=0, vmax=1, cmap=\"gray\")\n",
    "plt.axis(\"off\")\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "31f564f8",
   "metadata": {},
   "source": [
    "### Define network, scheduler, optimizer, and inferer\n",
    "At this step, we instantiate the MONAI components to create a DDPM, the UNET, the noise scheduler, and the inferer used for training and sampling. We are using\n",
    "the original DDPM scheduler containing 1000 timesteps in its Markov chain, and a 2D UNET with attention mechanisms\n",
    "in the 2nd and 3rd levels, each with 1 attention head."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "4b6a775c",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "device = torch.device(\"cuda\")\n",
    "\n",
    "model = DiffusionModelUNet(\n",
    "    spatial_dims=2,\n",
    "    in_channels=1,\n",
    "    out_channels=1,\n",
    "    channels=(64, 128, 128),\n",
    "    attention_levels=(False, True, True),\n",
    "    num_res_blocks=1,\n",
    "    num_head_channels=(0, 128, 128),\n",
    ")\n",
    "model.to(device)\n",
    "\n",
    "num_train_timesteps = 1000\n",
    "scheduler = DDPMScheduler(num_train_timesteps=num_train_timesteps)\n",
    "\n",
    "optimizer = torch.optim.Adam(params=model.parameters(), lr=2.5e-5)\n",
    "\n",
    "inferer = DiffusionInferer(scheduler)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "62021a53",
   "metadata": {},
   "source": [
    "### Model training\n",
    "Here, we are training our model for 75 epochs (training time: ~50 minutes)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "25498b74",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    },
    "lines_to_next_cell": 0
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[125/125] 100% , output=0.438 [00:25<00:00]\n",
      "[125/125] 100% , output=0.15 [00:24<00:00] \n",
      "[125/125] 100% , output=0.0478 [00:24<00:00]\n",
      "[125/125] 100% , output=0.0241 [00:24<00:00]\n",
      "[125/125] 100% , output=0.0232 [00:24<00:00]\n",
      "...\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[125/125] 100% , output=0.00982 [00:26<00:00]\n",
      "[125/125] 100% , output=0.00456 [00:24<00:00]\n",
      "[125/125] 100% , output=0.0198 [00:24<00:00] \n",
      "[125/125] 100% , output=0.0176 [00:24<00:00] \n",
      "[125/125] 100% , output=0.00711 [00:24<00:00]\n",
      "[125/125] 100% , output=0.0108 [00:24<00:00] "
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2024-09-02 18:23:20,504 - INFO - Epoch[75] Metrics -- val_mean_abs_error: 0.0470 \n",
      "2024-09-02 18:23:20,505 - INFO - Key metric: val_mean_abs_error best value: 0.078772634267807 at epoch: 5\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[125/125] 100% , output=0.0108 [00:25<00:00]\n"
     ]
    }
   ],
   "source": [
    "max_epochs = 75\n",
    "val_interval = 5\n",
    "\n",
    "val_handlers = [StatsHandler(name=\"train_log\", output_transform=lambda x: None)]\n",
    "\n",
    "evaluator = SupervisedEvaluator(\n",
    "    device=device,\n",
    "    val_data_loader=val_loader,\n",
    "    network=model,\n",
    "    inferer=inferer,\n",
    "    prepare_batch=DiffusionPrepareBatch(num_train_timesteps=num_train_timesteps),\n",
    "    key_val_metric={\"val_mean_abs_error\": MeanAbsoluteError(output_transform=from_engine([\"pred\", \"label\"]))},\n",
    "    val_handlers=val_handlers,\n",
    ")\n",
    "\n",
    "\n",
    "train_handlers = [\n",
    "    ValidationHandler(validator=evaluator, interval=val_interval, epoch_level=True),\n",
    "    # StatsHandler(name=\"train_log\", tag_name=\"train_loss\", output_transform=from_engine([\"loss\"], first=True)),\n",
    "]\n",
    "\n",
    "trainer = SupervisedTrainer(\n",
    "    device=device,\n",
    "    max_epochs=max_epochs,\n",
    "    train_data_loader=train_loader,\n",
    "    network=model,\n",
    "    optimizer=optimizer,\n",
    "    loss_function=torch.nn.MSELoss(),\n",
    "    inferer=inferer,\n",
    "    prepare_batch=DiffusionPrepareBatch(num_train_timesteps=num_train_timesteps),\n",
    "    key_train_metric={\"train_acc\": MeanSquaredError(output_transform=from_engine([\"pred\", \"label\"]))},\n",
    "    train_handlers=train_handlers,\n",
    ")\n",
    "\n",
    "out_func = from_engine(\"loss\")\n",
    "\n",
    "\n",
    "def _output_transform(data):\n",
    "    losses = out_func(data)\n",
    "    return losses[0]\n",
    "\n",
    "\n",
    "ProgressBar(\n",
    "    persist=True, bar_format=\"[{n_fmt}/{total_fmt}] {percentage:3.0f}%{postfix} [{elapsed}<{remaining}]\"\n",
    ").attach(trainer, output_transform=_output_transform)\n",
    "\n",
    "\n",
    "trainer.run()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dd72e309",
   "metadata": {},
   "source": [
    "### Plotting sampling process along DDPM's Markov chain"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "c5ceb634",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 1000/1000 [00:09<00:00, 104.03it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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kT58+EBEqlRWNjY2pKGhQfr6+rRnzx6aPHkyVVRUEJEK1KWlpdGKFSto8+bNdP/+fYqLi+N0P5s2beLFeOHChXT27FlydXWl69evk5aWFp04cYKIVAC0qampxRwzceJEMjU1JQsLCyIi7gsCwHfo0IEePHhA+vr6dPr0aZoyZQolJSXRX//6VyovL6fw8HAqLCwkItXG6Pe//z2niJKWefPmkZaWFq1du5b27NlDzc3N1L59e/rd735Hzc3NdOTIEaqoqKCrV6+St7c31dfXU0lJCbfj4MGDGcQSqVJKbdiwgY4ePUp3796lH3/8kdzd3emnn36i3/72t7INopaWFv3ud78jCwsLcnZ2pl69etHLly/Jzc2NampqqLy8nP7yl7/Q7t27ad68eTRp0iQqKysjT09PGjhwIGlra1N+fj7PqTk5OVRTU0N+fn48TkS6HR0dHdq3bx+1a9eOvn79Sj/88AP96U9/otWrV9O5c+eovr6eEhISyN3dnby9vemPf/wjlZWVkba2Nn348IEMDQ2pU6dOvFFyc3OjxMREOnr0KP3xj3+k27dvU0JCAj1+/JgA0H/+539SfHw8aWpq0tevX+nt27cUHR1NLi4uNGXKFEpPT6fevXvTpEmTqKCggA4dOkS9evWigIAAun//Pm/OCwsL6Y9//CP5+vrSoUOHyNXVlRoaGqhjx46yDZrolxYWFqStrU1bt26l9+/f04cPHygmJoaePn1Knz9/prNnz5K5uTktXbqUgoODad26daSvr09OTk7Uvn17OnHiBFlaWtKqVavI3t6ebGxsKDs7m4qKiujdu3c0bNgwOnXqFD148IC8vLzo6NGj9P79e2pqaqJffvmFxowZQ+3bt6cNGzZQTEwMHTp0iJqamsjKyoo2btxI586do3379tGpU6fI1taWgesPP/zAwK93797k6elJhw8fprdv31JVVRXdu3eP9PT06PDhw9SrVy8aOHAgnTp1iv70pz9RTk4Ode7cmd6/f0+Ghoakq6tL+vr6pKWlRffu3SNXV1fS1tam27dvk4aGBt28eZO6detGnTp1IltbW/r69Ss9efKE3r9/T3//+99JoVDwhr6uro78/f3J3Nycmpqa6Ny5c/TDDz+Qqakp/fTTT7ypP3/+PG/8tLS0qF27drJxpqWlxfMcEXE6G0Cekufz58/08eNHevv2LT1/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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.eval()\n",
    "noise = torch.randn((1, 1, 64, 64))\n",
    "noise = noise.to(device)\n",
    "scheduler.set_timesteps(num_inference_steps=1000)\n",
    "image, intermediates = inferer.sample(\n",
    "    input_noise=noise, diffusion_model=model, scheduler=scheduler, save_intermediates=True, intermediate_steps=100\n",
    ")\n",
    "\n",
    "chain = torch.cat(intermediates, dim=-1)\n",
    "\n",
    "plt.imshow(chain[0, 0].cpu(), vmin=0, vmax=1, cmap=\"gray\")\n",
    "plt.tight_layout()\n",
    "plt.axis(\"off\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aeb3ccd4",
   "metadata": {},
   "source": [
    "### Cleanup data directory\n",
    "\n",
    "Remove directory if a temporary was used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "babfbfd1",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "if directory is None:\n",
    "    shutil.rmtree(root_dir)"
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "formats": "ipynb,py:percent"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
